/**
 * 公共action类
 * @param {} params
 */
DC.util.CommonAction = {
	/*
     * 执行删除
    */
	doDeleteAction: function(params) {
		var _ids, _url, _panelID;
		if (params) {
		    _ids = params.id;
	        _url = params.url;
	        _panelID = params.panel_id;
	    } else {
	    	Ext.Msg.alert('提示信息', '操作有误，系统无法执行此操作！');
	    }; 
	    /*var _json;
	    if (_ids.constructor == Array) { // 判断变量_id是否为数组，如果是表示执行的是批量删除
		  // _json = CAS.Util.CommonAction.doArrayToJson(_id);
	    	 _json = CAS.Util.CommonAction.doArrayToString(_ids);
	    } else {
	    	_json = '{ idList:' + _ids + ' }';
	    }*/
	   // var _json = this.doArrayToJson(_ids);
	   var _json = this.doArrayToString(_ids);
	    Ext.Msg.confirm('提示信息','删除将无法恢复，您确认要删除？',function(btn,txt){
		    if(btn == 'no'){
			    return false;
		    }else{
			    Ext.Ajax.request({
				    url:_url,
				    method:'POST',
				    params: {ids:_json},
				    success:function(response, options){
					    var _res= Ext.util.JSON.decode(response.responseText);
					    if(_res.success){// 判断请求是否成功
						    var _grid = Ext.getCmp(_panelID);
						    var _ptb = _grid.getFooterToolbar(); // 取得数据表格下边的toolbar
							Ext.example.msg('提示',_res.message);
							// 如果把当页数据删除完毕，则跳转到上一页！
							/*if (_row == _ptb.store.getTotalCount()
									- _ptb.cursor) {
								_ptb.cursor = _ptb.cursor - _ptb.pageSize;
							}*/
							_grid.userGrid.getStore().reload(); // 删除成功时，重新加载用户列表
							/*_grid.load({
								params : {
									start : _ptb.cursor,
									limit : DC.admin.PageSize
								}
							});*/
					    }else{
						    this.showMessage("提示信息", _res.message, Ext.MessageBox.OK, Ext.MessageBox.WARNING);
					    };
				    },
				    failure:function(response,options){
					    this.showMessage("提示信息", response.responseText, Ext.MessageBox.OK, Ext.MessageBox.WARNING); 
				    }
			    });
		    }
	    });
	},
	/*
	 * 将数组装换成json格式的数据
	 */
	doArrayToJson: function(list) {
		var json = [];
		for (var i=0; i<list.length; i++) {
			json.push("ids:" + encodeURIComponent(list[i]));
		}
		
        return '{ ' + json.join(', ') + ' }';
	},
	
	doArrayToString: function(list) {
		return list.join(',');
	},
	
	/*
	 * 显示提示信息
	 */
	showMessage: function(title, msg, type,  btn) {
		var _msg = Ext.Msg.show({
			title : title || 'Prompt Win',
			msg : msg || 'System unknown error.',
			width : 350,
			buttons : btn || Ext.MessageBox.OK,
			closable : true,
			icon : type || Ext.MessageBox.WARNING
		});
	},
	
	/*
	 * 当窗体关闭时销毁组件，防止内存泄露
	 */
	 doDestroyComponent: function(win) {
	 	if(this.rendered) {
		    if (this.tools) {
                for (var k in this.tools) {
                    Ext.destroy(this.tools[k]);
                }
            }
			if (this.header && this.headerAsText) {
                var s;
                if (s = this.header.child('span')) 
                    s.remove();
                this.header.update('');
            }
            Ext.each(['form','header', 'body'], function(elName){
                if (this[elName]) {
                    if (typeof this[elName].destroy == 'function') {
                        this[elName].destroy();
                    }else {
                        Ext.destroy(this[elName]);
                    }
                    
                    this[elName] = null;
                    delete this[elName];
                }
            }, this);
        }
	 },
	 
	 loadMask : function(msg) {
	 	try {
	 		this.mainMask = new Ext.LoadMask(document.body, {
	 			msg : msg ? msg : 'Loading...',
	 			removeMask : true
	 		});
	 		this.mainMask.show();
	 	} catch(err) {
	 		
	 	}
	 },
	 
	 unMask : function() {
	 	try {
	 		if (this.mainMask) {
	 			this.mainMask.hide();
	 			this.mainMask = null;
	 		}
	 	} catch(err) {
	 		
	 	}
	 }
};